Software defined data centers (SDDCs) virtualize the physical network to provide isolated virtual networks for respective tenants. In order to achieve this goal, the network resource has to be shared among multiple unrelated tenants. For resources such as computation, memory and storage, which are allocated locally, there have already been some effective sharing mechanisms. But for network resource, fair sharing is more challenging because it is distributed by its nature and involves multiple components.
Significant research has addressed the problem of how to share the network in data centers, especially how to share the bandwidth resources among tenants in a fair manner. Some proposed solutions enforce the traffic control at the edge, while others require control in middle physical nodes. The software-based edge control is a more feasible direction, because changes to physical nodes (e.g. switches and routers) are expensive, slow to standardize, and hard to customize once deployed. Existing edge control approaches introduce a scheduler at the hypervisor. The scheduler allocates the bandwidth among entities, which are typically virtual machines (VMs) or flows identified by source-destination VM pairs, based on the entities' policies. The policy usually contains bandwidth reservation, share, and limit. With a feedback mechanism, the allocation is changed periodically. However, these approaches calculate the allocations without considering the peers' weight. All peers are treated equally, and the VM's policy is just divided equally to them.